// ImageProcessingDlg.h : header file
//

#pragma once

#include <cxcore.h>
#include "Eroder.h"
#include "Sobel.h"
#include "GrayScaler.h"
#include "EdgeDetector.h"
// CImageProcessingDlg dialog
class CImageProcessingDlg : public CDialog
{
// Construction
public:
	CImageProcessingDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	enum { IDD = IDD_IMAGEPROCESSING_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support


// Implementation
protected:
	HICON m_hIcon;
	IplImage *image;	// This is the image pointer (input)
	IplImage *outputImage;	//This is the image pointer for the output
	Eroder eroder;		// The image processor as an automatic variable
	Sobel sobel;
	GrayScaler grayScaler;
	EdgeDetector edgeDetector;
	// Generated message map functions
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnBnClickedOpenImage();
	afx_msg void OnBnClickedOk();
	afx_msg void OnBnClickedCancel();
	afx_msg void OnBnClickedErode();
	afx_msg void OnFileOpenimage();
	afx_msg void OnProcessEnrode();
	afx_msg void OnProcessSobel();
	afx_msg void OnFileSaveimage();
	afx_msg void OnProcessGrayscale();
	afx_msg void OnProcessEdgedetect();
	afx_msg void OnFileOpenvideo();
	afx_msg void OnProcessvideoProcess();
	afx_msg void OnProcessvideoStop();
};
